When reading the contents of a nonvolatile memory array, forward sensing is performed using a sense current that typically flows in a direction from the sense node in the page buffer, through the memory array, and to a common source line at a ground voltage. In traditional temperature compensation that aims to maintain a steady sense current throughout a temperature range, temperature compensation is performed to vary a word line voltage of the word line accessing the selected memory cell in a read or verify operation.
However, such traditional temperature compensation is not ideal for a 3D memory array such as a 3D vertical gate memory array. In a 3D vertical gate memory array, the same word line accesses different layers in the 3D memory array. Accordingly, a temperature compensated word line voltage which generates a temperature independent sense current in one layer of the 3D memory array may generate a temperature dependent sense current in other layers of the 3D memory array.
Even in a 2D memory array instead of a 3D memory array, traditional temperature compensation lacks a mechanism for adjusting the word line voltage in the event that characteristics of the memory cells change. Without such a mechanism, a change in characteristics of memory cells will not be accompanied by an adjustment in temperature compensation of the sense current.
Accordingly, it would be desirable for the temperature compensated sense current to be generated in a way that varies across different layers in a 3D memory array, and that varies with changes in the memory cell characteristics.